<?php
/* *  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * carpetas_bodega.php
 * Autor: Superintendencia de la Economia Solidaria - Superintendencia de Servicios Publicos Domiciliarios
 * Fecha creacion: 23 - Marzo - 2006 -> SES
 * Fecha modificacion: 13 - Diciembre - 2006 ->
 * Fecha modificacion: 31 - Julio - 2008 -> SSPD
 * Fecha modificacion: 10 - Diciembre - 2010 -> Openous
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 * Descripcion: Este script permite crear la estructura de directorios requerida
 * por el Sistema de Gestion Documental ORFEO dentro del directorio bodega.
 * Dentro del directorio definido como ruta raiz ($ruta_raiz) debe haberse creado
 * previamente el directorio bodega o un enlace hacia la bodega.
 * En la tabla DEPENDENCIA de la Base de Datos se deben haber ingresado previamente todas
 * las dependencias con su respectivo codigo.
 * Los directorios requeridos por el combinador de archivos .odt. son: Directorio "workDir" y "cacheODT".
 * Se deben verificar los permisos de los directorios de bodega, en caso de no permitir anexar.
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

// Ruta del directorio que contiene el enlace a la bodega de imagenes
//$ruta_raiz = "..";
//$ruta_raiz = "orfeoX";
$ruta_raiz = ".";
if($_GET["anoCrear"]) $anoCrear = $_GET["anoCrear"];
?>
<form method=GET action="carpetas_bodega.php">
<link rel="stylesheet" href="estilos/orfeo.css">
<br>
<center class=titulos4 > </center>
<center class=titulos4 > CREACION DEL ARBOL DE DIRECTORIOS DE LA BODEGA DE ORFEO</center><br>
Ingrese el a&ntilde;o a Crear
<input type=text name=anoCrear>
<input type=submit value="Crear Carpetas">
</form>
<?
if (!$anoCrear) die("<p class=titulosError2 > Debe ingresar un año </p>");
if (!(is_numeric($anoCrear))) die ("<p class=titulosError2 > Error. Debe ingresar el año en formato numérico. Ej: 2011 </p>"); 
if (strlen($anoCrear)!=4) die("<p class=titulosError2 > El año debe ser de 4 dígitos </p>");
if (strlen(date("Y"))==5) echo "class=titulos Wow !!!! estamos en el año 10000 DC ".(date(Y))." </p>";
if (($anoCrear)<1800 || ($anoCrear)>3000 ) die("<p class=titulosError2 > El año debería ser mayor a 1900 o menor al año 3000 </p>");  

echo "<center class=titulos5>... <br>En proceso de creacion del sistema de directorios del A&ntilde;o: <br>$anoCrear </center><br>";
//$anoCrear = "2010";
//error_reporting(7);

include_once ( "$ruta_raiz/include/db/ConnectionHandler.php" );

// Verifica si existe un directorio cuyo nombre corresponde al ano actual
if ( is_dir( $ruta_raiz.'/bodega/'.$anoCrear ) )
{
    // Funcion para crear los directorios asociados a cada dependencia
    creaDirDepe( $ruta_raiz, $anoCrear );
}

// Si no existe un directorio cuyo nombre corresponde al ano actual lo crea
else
{
    // Crea un directorio cuyo nombre corresponde al ano actual
    if ( mkdir ( $ruta_raiz.'/bodega/'.$anoCrear, 0777 ) )
    {
        print "Directorio ".$ruta_raiz.'/bodega/'.$anoCrear." creado.<br>";

        // Funcion para crear los directorios asociados a cada dependencia
        creaDirDepe( $ruta_raiz, $anoCrear );
    }
    else
    {
        die ("<b class=titulosError><center>No se pudo crear el directorio ".$ruta_raiz.'/bodega/'.$anoCrear." </center><br></b>
		<p class=alarmas> Verifique lo siguiente: <br>
		-Que exista la bodega y/o el enlace a la bodega en /orfeo/bodega <br>
		-El año ingresado <br>
		-La variable ruta_raiz en el archivo: carpetas_bodega.php </p> <br><br><br>");
    }
}

// Directorio fax
// Verifica si no existe el directorio fax
if ( ! is_dir( $ruta_raiz.'/bodega/fax' ) )
{
    // Crea un directorio llamado fax
    if ( mkdir ( $ruta_raiz.'/bodega/fax', 0777 ) )
    {
        print "Directorio ".$ruta_raiz.'/bodega/fax'." creado.<br>";
    }
    else
    {
        print "No se pudo crear el directorio ".$ruta_raiz.'/bodega/fax.<br>';
    }
} else echo "<a class=no_leidos> Directorio ".$ruta_raiz."/bodega/fax"." Ya xiste.</a><br>";

// Directorio masiva
// Verifica si no existe el directorio masiva
if ( ! is_dir( $ruta_raiz.'/bodega/masiva' ) )
{
    // Crea un directorio llamado masiva
    if ( mkdir ( $ruta_raiz.'/bodega/masiva', 0777 ) )
    {
        print "Directorio ".$ruta_raiz.'/bodega/masiva'." creado.<br>";
    }
    else
    {
        print "No se pudo crear el directorio ".$ruta_raiz.'/bodega/masiva.<br>';
    }
} else echo "<a class=no_leidos> Directorio ".$ruta_raiz."/bodega/masiva"." Ya xiste.</a><br>";

// Directorio pdfs
// Verifica si no existe un directorio pdfs
if ( ! is_dir( $ruta_raiz.'/bodega/pdfs' ) )
{
    // Crea un directorio llamado pdfs
    if ( mkdir ( $ruta_raiz.'/bodega/pdfs', 0777 ) )
    {
        print "Directorio ".$ruta_raiz.'/bodega/pdfs'." creado.<br>";

        // Directorio guias
        // Verifica si no existe un directorio guias
        if ( ! is_dir( $ruta_raiz.'/bodega/pdfs/guias' ) )
        {
            // Crea un directorio llamado guias
            if ( mkdir ( $ruta_raiz.'/bodega/pdfs/guias', 0777 ) )
            {
                print "Directorio ".$ruta_raiz.'/bodega/pdfs/guias'." creado.<br>";
            }
            else
            {
                print "No se pudo crear el directorio ".$ruta_raiz.'/bodega/pdfs/guias.<br>';
            }
        } else echo "<a class=no_leidos> Directorio ".$ruta_raiz."/bodega/pdfs/guias"." Ya xiste.</a><br>";

        // Directorio planillas
        // Verifica si no existe un directorio planillas
        if ( ! is_dir( $ruta_raiz.'/bodega/pdfs/planillas' ) )
        {
            // Crea un directorio llamado planillas
            if ( mkdir ( $ruta_raiz.'/bodega/pdfs/planillas', 0777 ) )
            {
                print "Directorio ".$ruta_raiz.'/bodega/pdfs/planillas'." creado.<br>";

                // Directorio dev
                // Verifica si no existe un directorio dev
                if ( ! is_dir( $ruta_raiz.'/bodega/pdfs/planillas/dev' ) )
                {
                    // Crea un directorio llamado dev
                    if ( mkdir ( $ruta_raiz.'/bodega/pdfs/planillas/dev', 0777 ) )
                    {
                        print "Directorio ".$ruta_raiz.'/bodega/pdfs/planillas/dev'." creado.<br>";
                    }
                    else
                    {
                        print "No se pudo crear el directorio ".$ruta_raiz.'/bodega/pdfs/planillas/dev.<br>';
                    }
                } else echo "<a class=no_leidos> Directorio ".$ruta_raiz."/bodega/pdfs/planillas/dev"." Ya xiste.</a><br>";

                // Directorio envios
                // Verifica si no existe un directorio envios
                if ( ! is_dir( $ruta_raiz.'/bodega/pdfs/planillas/envios' ) )
                {
                    // Crea un directorio llamado envios
                    if ( mkdir ( $ruta_raiz.'/bodega/pdfs/planillas/envios', 0777 ) )
                    {
                        print "Directorio ".$ruta_raiz.'/bodega/pdfs/planillas/envios'." creado.<br>";
                    }
                    else
                    {
                        print "No se pudo crear el directorio ".$ruta_raiz.'/bodega/pdfs/planillas/envios.<br>';
                    }
                } else echo "<a class=no_leidos> Directorio ".$ruta_raiz."/bodega/pdfs/planillas/envios"." Ya xiste.</a><br>";                
            }
            else
            {
                print "No se pudo crear el directorio ".$ruta_raiz.'/bodega/pdfs/planillas.<br>';
            }
        }
    }
    else
    {
        print "No se pudo crear el directorio ".$ruta_raiz.'/bodega/pdfs.<br>';
    }
}

// Directorio tmp
// Verifica si no existe un directorio tmp
if ( ! is_dir( $ruta_raiz.'/bodega/tmp' ) )
{
    // Crea un directorio llamado tmp
    if ( mkdir ( $ruta_raiz.'/bodega/tmp', 0777 ) )
    {
        print "Directorio ".$ruta_raiz.'/bodega/tmp'." creado.<br>";
	
	// Modificado SSPD 31-Julio-2008
	// Creacion de los directorios requeridos por el combinador de archivos .odt.
	// Directorio workDir
        // Verifica si no existe un directorio workDir
        if ( ! is_dir( $ruta_raiz.'/bodega/tmp/workDir' ) )
        {
		// Crea un directorio llamado workDir
		if ( mkdir ( $ruta_raiz.'/bodega/tmp/workDir', 0777 ) )
		{
			print "Directorio ".$ruta_raiz.'/bodega/tmp/workDir'." creado.<br>";
			
			// Directorio cacheODT
			// Verifica si no existe un directorio cacheODT
			if ( ! is_dir( $ruta_raiz.'/bodega/tmp/workDir/cacheODT' ) )
			{
				// Crea un directorio llamado cacheODT
				if ( mkdir ( $ruta_raiz.'/bodega/tmp/workDir/cacheODT', 0777 ) )
				{
					print "Directorio ".$ruta_raiz.'/bodega/tmp/workDir/cacheODT'." creado.<br>";
				}
				else
				{
					print "No se pudo crear el directorio ".$ruta_raiz.'/bodega/tmp/workDir/cacheODT.<br>';
				}
                	} else { echo "<a class=no_leidos> Directorio ".$ruta_raiz."/bodega/tmp/workDir/cacheODT"." Ya existe.</a><br>"; } 
		}
		else
		{
			print "No se pudo crear el directorio ".$ruta_raiz.'/bodega/tmp/workDir.<br>';
		}
          } else { echo "<a class=no_leidos> Directorio ".$ruta_raiz."/bodega/tmp/workDir, Ya existe.</a><br>"; }
    }
    else
    {
        print "No se pudo crear el directorio ".$ruta_raiz.'/bodega/tmp.<br>';
    }
} else { echo "<a class=no_leidos> Directorio ".$ruta_raiz."/bodega/tmp,  Ya existe.</a><br>"; }

// Funcion para crear los directorios asociados a cada dependencia
function creaDirDepe( $ruta_raiz ,$anoCrear)
{
    $db = new ConnectionHandler( "$ruta_raiz" );
    //$db->conn->debug = true;

    $query  = "SELECT DEPE_CODI";
    $query .= " FROM dependencia";
    // print "query: ".$query;

    $db->conn->SetFetchMode(ADODB_FETCH_ASSOC);
    $rs = $db->query($query);
    while( !$rs->EOF )
    {
	//  $anoCrear= "2008";
        // Verifica si existe un directorio cuyo nombre corresponde al codigo de la
        // dependencia
        if ( is_dir( $ruta_raiz.'/bodega/'.$anoCrear.'/'.$rs->fields["DEPE_CODI"] ) )
        {
            // Directorio docs
            // Verifica si no existe un directorio docs
            if ( ! is_dir( $ruta_raiz.'/bodega/'.$anoCrear.'/'.$rs->fields["DEPE_CODI"].'/docs' ) )
            {
                // Crea un directorio llamado docs
                if ( mkdir ( $ruta_raiz.'/bodega/'.$anoCrear.'/'.$rs->fields["DEPE_CODI"].'/docs', 0777 ) )
                {
                    print "Directorio ".$ruta_raiz.'/bodega/'.$anoCrear.'/'.$rs->fields["DEPE_CODI"].'/docs'." Creado.<br>";
                }
                else
                {
                    print "No se pudo crear el directorio ".$ruta_raiz.'/bodega/'.$anoCrear.'/'.$rs->fields["DEPE_CODI"].'/docs.<br>';
                }
           
             } else { echo ("<a class=no_leidos> Directorio ".$ruta_raiz."/bodega/".$anoCrear."/".$rs->fields["DEPE_CODI"]."/docs"." ya existe. </a><br>"); }
        }
	
        // Si no existe un directorio cuyo nombre corresponde al codigo de la dependencia,
        // lo crea
        else
        {
            // Crea un directorio cuyo nombre corresponde al codigo de la dependencia
            if ( mkdir ( $ruta_raiz.'/bodega/'.$anoCrear.'/'.$rs->fields["DEPE_CODI"], 0777 ) )
            {
                print "Directorio ".$ruta_raiz.'/bodega/'.$anoCrear.'/'.$rs->fields["DEPE_CODI"]." creado.<br>";

                // Directorio docs
                // Verifica si no existe un directorio docs
                if ( ! is_dir( $ruta_raiz.'/bodega/'.$anoCrear.'/'.$rs->fields["DEPE_CODI"].'/docs' ) )
                {
                    // Crea un directorio llamado docs
                    if ( mkdir ( $ruta_raiz.'/bodega/'.$anoCrear.'/'.$rs->fields["DEPE_CODI"].'/docs', 0777 ) )
                    {
                        print "Directorio ".$ruta_raiz.'/bodega/'.$anoCrear.'/'.$rs->fields["DEPE_CODI"].'/docs'." creado.<br>";
                    }
                    else
                    {
                        print "No se pudo crear el directorio ".$ruta_raiz.'/bodega/'.$anoCrear.'/'.$rs->fields["DEPE_CODI"].'/docs.<br>';
                    }
                } else { print "<a class=no_leidos> Ya existe </a>"; }
            }
            else
            {
                print "No se pudo crear el directorio ".$ruta_raiz.'/bodega/'.$anoCrear.'/'.$rs->fields["DEPE_CODI"]."<br>";
            }
        }

        $rs->MoveNext();
    }
}
?>
